/**
 * GTBarButtonWithTintColor.h
 *
 * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy of the License 
 * at http://www.mozilla.org/MPL/
 * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
 * either express or implied. See the License for the specific language governing rights and limitations 
 * under the License.
 *
 * The Original Code is gcast-toolbox4iphone.
 *
 * The Initial Developers of the Original Code is Giannandrea Castaldi.
 */
#import "GTBarButtonWithTintColor.h"

@interface GTBarButtonWithTintColor ()
- (UIView*)buttonWithTitle:(NSString*)aTitle tintColor:(UIColor*)tintColor;
- (void)buttonPressed;
@end


@implementation GTBarButtonWithTintColor

- (id)initWithTitle:(NSString*)aTitle tintColor:(UIColor*)backgroundColor {
  return [super initWithCustomView:[self buttonWithTitle:aTitle tintColor:backgroundColor]];
}

- (UIView*)buttonWithTitle:(NSString*)aTitle tintColor:(UIColor*)tintColor {
  CGFloat width = [aTitle sizeWithFont:[UIFont systemFontOfSize:13.0]].width + 40.0;
  UIView *buttonView = [[[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, width, 44.0)] autorelease];
  buttonView.backgroundColor = [UIColor clearColor];
  UISegmentedControl *button = [[[UISegmentedControl alloc] initWithFrame:CGRectMake(0.0, 7.0, width, 30.0)] autorelease];
  button.segmentedControlStyle = UISegmentedControlStyleBar;
  button.momentary = YES;
  button.enabled = YES;
  button.tintColor = tintColor;
  [button insertSegmentWithTitle:aTitle atIndex:0 animated:FALSE];
  [button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventValueChanged];
  [buttonView addSubview:button];
  return buttonView;
}

- (void)buttonPressed {
  if ([self target] && [self action]) {
    [self.target performSelector:self.action withObject:self];
  }
}

@end
